1. Technical Field
The disclosed technology relates generally to virtual musical instruments.
2. Introduction
Virtual musical instruments, such as MIDI-based or software-based keyboards, guitars, strings, or horn ensembles can include an arpeggiator that allows a user to create an arpeggio by entering multiple notes (e.g. a chord) on a MIDI-based instrument, such as a keyboard, in a particular sequence or pattern. For simplification of explanation, a MIDI keyboard will be used as an example in the following disclosure. However, it will be understood that the following disclosure may be applied to any MIDI- or software-based instrument, such as a guitar, other string instrument, horn, woodwind, etc. The arpeggiator then arpeggiates the entered chord, by continuing to play the notes in the order that they were entered on the keyboard for as long as the notes are held by the user. As a note is released from the keyboard, it is removed from the played arpeggio. Similarly, as a note is entered on the keyboard, it is added to the played arpeggio. The resulting arpeggio continues to play the currently held notes in the order that they were entered.
However, once the user releases all notes, the arpeggiation ends. Thus, for example, if a user wishes to arpeggiate a completely different set of notes (i.e. a different chord) in same pattern, the user must enter those notes in the desired sequence and hold them for the arpeggiator to play the arpeggio. Therefore, a need exists to generate a customized arpeggio according to user's input. More specifically, a need exists to memorize a custom note order entered by a user, which can be then applied to a different set of notes.